package com.wzcl.app.model.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
public class CourseDto extends BaseDto {

    @NotBlank(message = "缺少课程名称")
    @ApiModelProperty(value = "名称")
    private String name;

    @NotBlank(message = "缺少课程描述")
    @ApiModelProperty(value = "描述")
    private String description;

    @NotNull(message = "缺少课程难度")
    @ApiModelProperty(value = "难度")
    private Integer hard;

    @NotNull(message = "总体开始课程时间")
    @ApiModelProperty(value = "总体开始课程时间")
    private Date[] date;

    @NotNull(message = "缺少上课时间")
    @ApiModelProperty(value = "上课时间")
    private Date[] time;

    @NotBlank(message = "上课时间前缀")
    @ApiModelProperty(value = "上课时间前缀")
    private String timePrefix;

    @NotNull(message = "缺少课时数")
    @ApiModelProperty(value = "课时数")
    private Integer count;

    @ApiModelProperty(value = "课程状态")
    private Integer courseState;

    @NotNull(message = "缺少年级")
    @ApiModelProperty(name = "年级")
    private Integer gradeId;

    @NotNull(message = "缺少科目")
    @ApiModelProperty(value = "科目")
    private Integer subjectId;

    @ApiModelProperty(value = "状态")
    private Integer state;

    @NotNull(message = "缺少课程类型")
    @ApiModelProperty(value = "课程类型")
    private Integer courseType;

    @ApiModelProperty(value = "课程图片")
    private List<String> pictures;

    @ApiModelProperty(value = "海报")
    private String posters;

    @ApiModelProperty(value = "是否是商品")
    private Boolean isCommodity;

    @NotNull(message = "缺少虚拟观看数")
    @ApiModelProperty(value = "虚拟观看数")
    private Long viewVolume;

    @NotNull(message = "缺少虚拟销售数")
    @ApiModelProperty(value = "虚拟销售数")
    private Integer saleVolume;
}
